package com.stock_t.service;

import com.stock_t.dto.StockStatisticsRequest;
import com.stock_t.dto.StockStatisticsResponse;
import java.util.List;

public interface StockStatisticsService {
    
    /**
     * 根据股票代码获取完整统计信息
     */
    StockStatisticsResponse getStockStatistics(String stockCode);
    
    /**
     * 根据请求参数获取统计信息
     */
    StockStatisticsResponse getStockStatistics(StockStatisticsRequest request);
    
    /**
     * 获取股票基本信息
     */
    StockStatisticsResponse.StockInfo getStockBasicInfo(String stockCode);
    
    /**
     * 获取最新数据
     */
    StockStatisticsResponse.LatestData getLatestData(String stockCode);
    
    /**
     * 获取月度收益汇总
     */
    List<StockStatisticsResponse.MonthlyProfit> getMonthlyProfits(String stockCode);
    
    /**
     * 获取股数构成
     */
    List<StockStatisticsResponse.ShareItem> getShareComposition(String stockCode);
    
    /**
     * 获取保本价分析
     */
    List<StockStatisticsResponse.BreakEvenItem> getBreakEvenPrices(String stockCode);
    
    /**
     * 获取收益汇总
     */
    StockStatisticsResponse.ProfitSummary getProfitSummary(String stockCode);
    
    /**
     * 获取价格分布
     */
    StockStatisticsResponse.PriceDistribution getPriceDistribution(String stockCode);

    /**
     * 获取股数统计信息
     */
    StockStatisticsResponse.ShareSummary getShareSummary(String stockCode);
}